using System.ComponentModel.DataAnnotations;

namespace Mark.Models;

/// <summary>
/// 系统设置实体
/// </summary>
public class SystemSettings : BaseEntity
{
    [Required]
    [MaxLength(100)]
    public string Key { get; set; } = string.Empty;
    
    public string? Value { get; set; }
    
    [MaxLength(500)]
    public string? Description { get; set; }
    
    /// <summary>
    /// 数据类型：string, number, boolean, json
    /// </summary>
    [MaxLength(20)]
    public string DataType { get; set; } = "string";
    
    /// <summary>
    /// 是否为敏感信息
    /// </summary>
    public bool IsSensitive { get; set; } = false;
    
    /// <summary>
    /// 设置分类
    /// </summary>
    [MaxLength(50)]
    public string Category { get; set; } = "general";
    
    /// <summary>
    /// 是否为系统内置设置
    /// </summary>
    public bool IsSystemBuiltIn { get; set; } = false;
} 